iT邦幫忙

2022 iThome 鐵人賽

DAY 17
0
Software Development

第一次學C#的經驗談系列 第 17

Day17主題:認識參數傳遞

  • 分享至 

  • xImage
  •  

上一篇有提到回傳值,接下來就是要來好好說明參數之間的傳遞做法。
/images/emoticon/emoticon06.gif

特性說明:

  1. 在C#中,引數可以由[傳值方式]或[傳址方式]傳遞至參數。
  2. 以[傳址方式]傳遞參數:
    • 可讓函式成員、方法、屬性、索引子、運算子及建構函式變更參數的值,並在呼叫環境中保存該變更。
    • 且目的是變更該值,請使用ref或out關鍵字。
    • 且目的是不要發生複製也不變更該值,請使用in修飾詞。

傳值方式:

  1. 實值型別:

    • 在方法內進行的任何變更,都不會影響變數的原始值。
      https://ithelp.ithome.com.tw/upload/images/20220917/20142779uaYt0LSK2Q.png
  2. 參考型別:

    • 嘗試將參數重新指派至不同的記憶體位置,但只能在方法內運作,不會影響原始陣列變數(arr[0])。
      https://ithelp.ithome.com.tw/upload/images/20220917/20142779YkuofvI8RC.png

傳址方式:

  1. 實值型別:

    • 差別在於引數是以ref參數來傳遞;當方法中變更後,變數的原始值也會跟著變更。
      https://ithelp.ithome.com.tw/upload/images/20220917/20142779OAXNLQxlZX.png
  2. 參考型別:

    • 差別在於引數是以ref參數來傳遞;任何在方法中進行的變更,都會影響呼叫端程式中的原始陣列變數(arr[0])。
      https://ithelp.ithome.com.tw/upload/images/20220917/20142779wR351t23ub.png

/images/emoticon/emoticon47.gif

參考來源:
Microsoft DOCS 傳遞參數

Microsoft DOCS 傳遞實值類型的參數

Microsoft DOCS 傳遞參考類型的參數


上一篇
Day16主題:認識建構函式
下一篇
Day18主題:認識例外處理
系列文
第一次學C#的經驗談30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言